From 399df06d1931add5d5b0422f6f99fe4ff1a1faa7 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 22 Feb 2015 08:26:29 +0100 Subject: [PATCH] stylecontext: Refactor gtk_style_context_invalidate() There's no need anymore to recreate styles, nodes do that automagically now. This allows making gtk_css_node_set_style() private. --- gtk/gtkcssnode.c | 2 +- gtk/gtkcssnodeprivate.h | 2 -- gtk/gtkstylecontext.c | 26 +------------------------- 3 files changed, 2 insertions(+), 28 deletions(-) diff --git a/gtk/gtkcssnode.c b/gtk/gtkcssnode.c index 2c032ed989..0aaf64d56f 100644 --- a/gtk/gtkcssnode.c +++ b/gtk/gtkcssnode.c @@ -592,7 +592,7 @@ gtk_css_node_get_next_sibling (GtkCssNode *cssnode) return cssnode->next_sibling; } -void +static void gtk_css_node_set_style (GtkCssNode *cssnode, GtkCssStyle *style) { diff --git a/gtk/gtkcssnodeprivate.h b/gtk/gtkcssnodeprivate.h index 38cd36d891..1fb0a4970e 100644 --- a/gtk/gtkcssnodeprivate.h +++ b/gtk/gtkcssnodeprivate.h @@ -137,8 +137,6 @@ const GtkCssNodeDeclaration * GtkCssStyle * gtk_css_node_get_style (GtkCssNode *cssnode); -void gtk_css_node_set_style (GtkCssNode *cssnode, - GtkCssStyle *style); GtkCssStyle * gtk_css_node_create_style (GtkCssNode *cssnode); void gtk_css_node_invalidate_style_provider diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index d1ae36971f..1dd917afa8 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -2385,22 +2385,6 @@ gtk_style_context_pop_animatable_region (GtkStyleContext *context) g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); } -static void -gtk_style_context_clear_cache (GtkStyleContext *context) -{ - GtkStyleContextPrivate *priv; - GSList *l; - - priv = context->priv; - - for (l = priv->saved_nodes; l; l = l->next) - { - gtk_css_node_set_style (l->data, NULL); - } - - gtk_style_context_clear_property_cache (context); -} - static void gtk_style_context_do_invalidate (GtkStyleContext *context, const GtkBitmask *changes) @@ -2450,18 +2434,10 @@ void gtk_style_context_invalidate (GtkStyleContext *context) { GtkBitmask *changes; - GtkCssStyle *style; - GtkCssNode *root; g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); - gtk_style_context_clear_cache (context); - gtk_css_node_set_style (context->priv->cssnode, NULL); - - root = gtk_style_context_get_root (context); - style = gtk_css_node_create_style (root); - gtk_css_node_set_style (root, style); - g_object_unref (style); + gtk_style_context_clear_property_cache (context); changes = _gtk_bitmask_new (); changes = _gtk_bitmask_invert_range (changes, -- 2.30.2